e.Toscana Compliance 
Request for Comments: 84
Del: 25/02/2007 
Categoria: Applicativa
Destinatari: Regione Toscana, Comuni, Amministrazioni locali

	Evento Variazione Scelta Medico (tipo evento 0003) 

	
	
	
	
Indice
======
1. Contesto di riferimento	
2. Obiettivi	
3. Analisi 
4. Prodotti attesi
5. Bibliografia





1. Contesto di riferimento
==========================

Nel contesto del potenziamento dei servizi offerti dalla Rete Telematica Regionale Toscana (RTRT),  stato realizzato un servizio che consente ai Comuni e alle ASL connessi alla RTRT di integrare, in modo largamente automatizzato e con una sensibile riduzione dei tempi di latenza, alcune funzioni di gestione degli assistiti sociosanitari regionali, in particolare gli eventi relativi a persone fisiche residenti nel territorio regionale (quali nascite, morti, trasferimenti, ecc.) e le loro implicazioni sui servizi di assistenza sociosanitaria con particolare riferimento alla assegnazione del medico di base.





2. Obiettivi
============

Il sistema realizza il servizio richiesto integrando nell'ambito della RTRT i sistemi informativi dei Domini Applicativi coinvolti e cio: i Servizi Anagrafici dei Comuni, Aziende Sanitarie Locali (ASL) e Regione; quest'ultima costituir anche il fornitore del servizio.

Il sistema  stato realizzato adottando una architettura funzionale e tecnica rispondente ai requisiti e alle specifiche definite dall'AIPA per la realizzazione di servizi di cooperazione applicativa basati su eventi.

Gli eventi GIADA (Gestione Integrata dell'Anagrafe Degli Assistibili sociosanitari) generati dalle ASL sono costituiti da una serie di blocchi logici, componibili in base alla specifica tipologia di evento. Alcuni blocchi sono sempre presenti, mentre altri sono indicati solamente in base a specifiche tipologie di evento. Nel seguito viene descritto l'evento .

L'obiettivo principale e' quello di permettere l'invio del flusso SAA ad eventi eliminando la necessit di invio massivo.

I vantaggi che questo meccanismo permette di raggiungere sono :
a. Invio in tempo reale delle variazioni anagrafiche
b. Riduzione dell'intervento umano





3. Analisi
==========

Questo evento viene pubblicato dall'ASL a seguito di una richiesta di variazione del medico da parte di un assistito. L'evento viene pubblicato nel caso in cui il cittadino iscritto all'anagrafe dell'ASL vuole cambiare medico all'interno della stessa ASL di domicilio sanitario o di ASL confinante a quella di domicilio sanitario. Nel caso in cui la variazione del medico sia dovuta a cambio di domicilio Sanitario o Immigrazione si rientra nel caso dell'evento Nuovo Assistito.

Il medico scelto dal cittadino, che ha come ASL di domicilio sanitario l'ASL in oggetto, pu operare:
1) Nella Asl di domicilio sanitario in cui  residente. Il cittadino pu operare le seguenti scelte possibili.
	a)	Nuovo medico: ASSISTITO
	b)	Cancellazione dall'elenco dl medico: Da ASSISTITO ad ASSISTIBILE NON ASSISTITO.
2) Nell' Asl di domicilio sanitario in cui non  residente. Il cittadino pu operare le seguenti scelte possibili:
	a)	Nuovo medico: ASSISTITO DOMICILIATO
	b)	Cancellazione dall'elenco dl medico: Da ASSISTITO DOMICILIATO a CANCELLATO
3) In un Asl confinante all'ASL di domicilio sanitario. Il cittadino pu operare le seguenti scelte possibili:
	a)	Nuovo medico: ASSISTITO IN DEROGA
	b)	Cancellazione dall'elenco dl medico: Da ASSISTITO IN DEROGA a CANCELLATO

Se l'ASL di domicilio sanitario non  quella di residenza lo stato della persona nella suddetta ASL passa da ASSISTIBILE NON ASSISTITO a CANCELLATO

Le informazioni gestite dall'evento sono relative a:
- indirizzo di domicilio
- dati del medico scelto

I blocchi costituenti l'evento nuovo assistibile sono:
- dati generali dell'evento
- anagrafe assistibile
- dati sanitari assistibile
- indirizzo assistibile
- scelta medico
- medico

Gli schema XML che definiscono il formato dei messaggi scambiati dal client con i servizi esposti daL web-service sono riportati sotto:

----------------------------------
* XSD VariazioneSceltaMedico.xsd *
----------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="EventoGiada.xsd"/>
	<xs:include schemaLocation="../AnagrafeAssistibile.xsd"/>
	<xs:include schemaLocation="../DatiSanitariAssistibile.xsd"/>
	<xs:include schemaLocation="../IndirizzoAssistibile.xsd"/>
	<xs:include schemaLocation="../SceltaMedico.xsd"/>
	<xs:include schemaLocation="../CertificazioneComunale.xsd"/>
	<xs:include schemaLocation="../Medico.xsd"/>
	<xs:element name="EventoVariazioneSceltaMedico">
		<xs:annotation>
			<xs:documentation>Evento di variazione scelta medico</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EventoGiada">
					<xs:sequence>
						<xs:element ref="AnagrafeAssistibile"/>
						<xs:element ref="DatiSanitariAssistibile"/>
						<xs:element ref="IndirizzoAssistibile"/>
						<xs:element ref="SceltaMedico"/>
						<xs:element ref="Medico"/>
						<xs:element ref="CertificazioneComunale" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

-----------------------
* XSD EventoGiada.xsd *
-----------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="../DatiGeneraliEvento.xsd"/>
	<xs:complexType name="EventoGiada" abstract="true">
		<xs:annotation>
			<xs:documentation>Elemento astratto identificativo dell'evento</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="DatiGenerali"/>
		</xs:sequence>
		<xs:attribute name="IDUniversaleSIL" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>ID universale attribuito all'evento da parte del SIL mittente</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDUniversaleNAL" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>ID universale attribuito all'evento. Viene generato automaticamente sul NAL</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
</xs:schema>

------------------------------
* XSD DatiGeneraliEvento.xsd *
------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiGenerali">
		<xs:annotation>
			<xs:documentation>Contieni i dati generali dell'evento</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Tipo"/>
				<xs:element ref="FlagCertificazioneComunale"/>
				<xs:element ref="USLInviante"/>
				<xs:element ref="TimeStampNAL"/>
				<xs:element ref="TimeStampSIL"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Tipo" type="eventoType">
		<xs:annotation>
			<xs:documentation>Indica la tipologia di evento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="FlagCertificazioneComunale" type="flagCertificazioneType">
		<xs:annotation>
			<xs:documentation>Indica la presenza di atto comunale che certifica i dati dell'evento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="USLInviante" type="uslType">
		<xs:annotation>
			<xs:documentation>Codice della USL che pubblica l'evento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TimeStampNAL" type="TimeStamp">
		<xs:annotation>
			<xs:documentation>Data e ora di generazione dell'evento, al momento dell'acquisizione nel NAL</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TimeStampSIL" type="TimeStamp">
		<xs:annotation>
			<xs:documentation>Data e ora di generazione dell'evento nel Sistema Informativo Locale dell'ASL</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="TimeStamp">
		<xs:annotation>
			<xs:documentation>Elemento TimeStamp Generico</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="Data"/>
			<xs:element ref="Ora"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="Data" type="xs:date" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento generico data</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Ora" type="xs:time" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento Generico Ora</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

-------------------------------
* XSD AnagrafeAssistibile.xsd *
-------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="AnagrafeAssistibile">
		<xs:annotation>
			<xs:documentation>Elemento root dell'anagrafe dell'assistito</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Nome"/>
				<xs:element ref="Cognome"/>
				<xs:element ref="DatiNascita"/>
				<xs:element ref="Cittadinanza"/>
				<xs:element ref="Sesso"/>
				<xs:element ref="CodiceFiscale"/>
				<xs:element ref="ValiditaCodiceFiscale"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Nome" type="stringaMaiuscola">
		<xs:annotation>
			<xs:documentation>Nome dell'assistibile. Sono ammessi solamente caratteri maiuscoli, apostrofo e spazio di separazione per cognomi multipli.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Cognome" type="stringaMaiuscola">
		<xs:annotation>
			<xs:documentation>Cognome dell'assistibile. Sono ammessi solamente caratteri maiuscoli, apostrofo e spazio di separazione per cognomi multipli.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DatiNascita">
		<xs:annotation>
			<xs:documentation>Dati di nascita dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Comune"/>
				<xs:element ref="Stato"/>
				<xs:element ref="DataNascita"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Comune" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Comune di nascita. Codice comune valido, ovvero presente nella tabella dei comuni. Sono ammessi anche i valori 999999 = assistibili non nato in Italia e 000000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Stato" type="codStatoType">
		<xs:annotation>
			<xs:documentation>Codice dello stato straniero di nascita, se non nato in Italia. Codice stato valido, ovvero presente nella tabella degli stati. E' ammesso anche il valore 000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Cittadinanza" type="codStatoType">
		<xs:annotation>
			<xs:documentation>Cittadinanza dell'assistibile. Codice stato valido, ovvero presente nella tabella degli stati. E' ammesso anche il valore 000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DataNascita" type="dataNullableType">
		<xs:annotation>
			<xs:documentation>Data di nascita dell'assistibile. Data valida nel formato ggmmaaaa. E' ammesso il valore 00000000 = informazione non disponibile.L'et calcolata tra data di nascita ed annorif non deve essere superiore a 124 anni</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Sesso" type="sessoType">
		<xs:annotation>
			<xs:documentation>Sesso dell'assistibile. Unici valori ammessi1= maschio, 2 = femmina, 0 = informazione non disponibile</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodiceFiscale">
		<xs:annotation>
			<xs:documentation>Codice fiscale dell'assistibile. Codice fiscale valido. E' ammesso anche il valore 0000000000000000 = informazione non disponibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="codiceFiscaleNonRilevatoType">
					<xs:attribute name="validita" type="boolean10Type" use="required">
						<xs:annotation>
							<xs:documentation>Unici valori ammessi0 = codice fiscale non valicato dall'agenzia delle entrate1 = codice fiscale valicato dall'agenzia delle entrate</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ValiditaCodiceFiscale" type="boolean10Type">
		<xs:annotation>
			<xs:documentation>Flag di validita' del codice fiscale derivato dall'Agenzia delle Entrate</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

-----------------------------------
* XSD DatiSanitariAssistibile.xsd *
-----------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiSanitariAssistibile">
		<xs:annotation>
			<xs:documentation>Elemento root dati sanitari dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodAziendale"/>
				<xs:element ref="UslResidenza"/>
				<xs:element ref="CodiceSanitario"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodAziendale" type="xs:string">
		<xs:annotation>
			<xs:documentation>Codice interno che l'azienda attribuisce all'assistibile. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="UslResidenza" type="uslType">
		<xs:annotation>
			<xs:documentation>Codice USL di residenza dell'assistibile. Codice usl valido, ovvero presente nella tabella delle aziende_sanitarie nazionali o nella tabella degli stati.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodiceSanitario">
		<xs:annotation>
			<xs:documentation>Elemento padre dei dati del codice sanitario dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Numero"/>
				<xs:element ref="Decorrenza"/>
				<xs:element ref="Scadenza"/>
				<xs:element ref="Cessazione"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Numero">
		<xs:annotation>
			<xs:documentation>Codice sanitario dell'assistibile. Codice alfanumerico allineato a sinistra di lunghezza obbligatoria di 11 caratteri.Sono ammessi anche i valori 00000000000 = informazione non disponibile e              =  tessera non rilasciata</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:length value="11"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Decorrenza" type="dataNullableType">
		<xs:annotation>
			<xs:documentation>Data decorrenza del codice sanitario dell'assistibile. Data valida nel formato ggmmaaaa.Sono ammessi anche i valori 00000000 = informazione non disponibile e            =  tessera non rilasciata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Scadenza" type="dataNullableType">
		<xs:annotation>
			<xs:documentation>Data di scadenza del codice sanitario dell'assistibile. Data valida nel formato ggmmaaaa.Sono ammessi anche i valori 00000000 = informazione non disponibile e            =  tessera non rilasciata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Cessazione" type="dataNullableSpaceType">
		<xs:annotation>
			<xs:documentation>Data di cessazione del codice sanitario dell'assistibile. Data valida nel formato ggmmaaaa.E' ammessi anche il valore           =  non si  verificato l'evento cessazione</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

--------------------------------
* XSD IndirizzoAssistibile.xsd *
--------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="IndirizzoAssistibile">
		<xs:annotation>
			<xs:documentation>Elemento root dell'indirizzo dell'assistibile. I dati relativi all'indirizzo di residenza e di domicilio dell'assistibile costituiscono un blocco che viene indicato in tutti gli eventi GIADA.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="RegioneResidenza"/>
				<xs:element ref="ComuneResidenza"/>
				<xs:element ref="IndirizzoResidenza"/>
				<xs:element ref="ComuneDomicilio"/>
				<xs:element ref="IndirizzoDomicilio"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="RegioneResidenza" type="regioneType">
		<xs:annotation>
			<xs:documentation>Regione di residenza. Codice regione valido, ovvero presente nella tabella delle regioni. E' ammesso anche il valore 999 = utente non residente in Italia</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="ComuneResidenza" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Comune di residenza. Codice comune valido, ovvero presente nella tabella dei comuni. Sono ammessi anche i valori 999999 = utente non residente in Italia000000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="IndirizzoResidenza" type="xs:string">
		<xs:annotation>
			<xs:documentation>Indirizzo di residenza</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="ComuneDomicilio" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Comune di domicilio sanitario. Codice comune valido, ovvero presente nella tabella dei comuni. Sono ammessi anche i valori 999999 = utente non residente in Italia000000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="IndirizzoDomicilio" type="xs:string">
		<xs:annotation>
			<xs:documentation>Indirizzo di domicilio sanitario. Caratteri alfanumerici allineati a sinistra.Obbligatorio</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

------------------------
* XSD SceltaMedico.xsd *
------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="SceltaMedico">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi alla scelta del medico.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DataScelta"/>
				<xs:element ref="DataDecorrenza"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DataScelta" type="dataNullableZeroType">
		<xs:annotation>
			<xs:documentation>Data della scelta del medico. Data valida nel formato ggmmaaaa.E' ammesso anche il valore 00000000 = non  stata fatta la scelta del medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DataDecorrenza" type="dataNullableZeroType">
		<xs:annotation>
			<xs:documentation>Dati di decorrenza della scelta del medico.  Data valida nel formato ggmmaaaa.E' ammesso anche il valore 00000000 = non  stata fatta la scelta del medico</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

------------------
* XSD Medico.xsd *
------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="Medico">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi al medico vengono forniti contestualmente ad alcune tipologie di evento GIADA</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Tipologia"/>
				<xs:element ref="CodRegionale"/>
				<xs:element ref="CodFiscale"/>
				<xs:element ref="Regione"/>
				<xs:element ref="UslMedico"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Tipologia" type="medicoType">
		<xs:annotation>
			<xs:documentation>Tipologia del medico (generico/pediatra). Unici valori ammessi01 = medico generico, 02 = medico pediatra, 00 = non effettuata la scelta del medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodRegionale" type="codiceRegionaleType">
		<xs:annotation>
			<xs:documentation>Codice regionale del medico. Sono ammessi anche i valori 000000 = assistibile non in carico ad un medico, 666666 = medico convenzionato con una azienda non toscana</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodFiscale" type="codiceFiscaleNonRilevatoType">
		<xs:annotation>
			<xs:documentation>Codice fiscale del medico. Codice fiscale valido. E' ammesso anche il valore 0000000000000000 = assistibile non in carico ad un medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Regione" type="regioneType">
		<xs:annotation>
			<xs:documentation>Regione in cui opera il medico. Codice regione valido, ovvero presente nella tabella delle regioni. E' ammesso anche il valore 000 = assistibile non in carico ad un medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="UslMedico" type="uslType">
		<xs:annotation>
			<xs:documentation>La USL in cui opera il medico. Codice usl valido, ovvero presente nella tabella delle aziende_sanitarie. E' ammesso anche il valore 000 = assistibile non in carico ad un medico</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

----------------------------------
* XSD CertificazioneComunale.xsd *
----------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="CertificazioneComunale">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi all'atto comunale ricevuto dalla ASL.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodiceComune"/>
				<xs:element ref="TipoEventoComunale"/>
				<xs:element ref="NumeroProtocollo"/>
				<xs:element ref="DataProtocollo"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodiceComune" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Codice del comune che certifica i dati</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TipoEventoComunale" type="eventoComuneType">
		<xs:annotation>
			<xs:documentation>Tipo di evento comunale</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="NumeroProtocollo" type="xs:string">
		<xs:annotation>
			<xs:documentation>Numero protocollo dell'atto comunale</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DataProtocollo" type="dataType">
		<xs:annotation>
			<xs:documentation>Data protocollo dell'atto comunale</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

---------------------
* XSD TypeGiada.xsd *
---------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:simpleType name="eventoType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="0001"/>
			<xs:enumeration value="0002"/>
			<xs:enumeration value="0003"/>
			<xs:enumeration value="0004"/>
			<xs:enumeration value="0005"/>
			<xs:enumeration value="0006"/>
			<xs:enumeration value="0007"/>
			<xs:enumeration value="0008"/>
			<xs:enumeration value="0009"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="cancellazioneType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="0001"/>
			<xs:enumeration value="0002"/>
			<xs:enumeration value="0003"/>
			<xs:enumeration value="0004"/>
			<xs:enumeration value="0005"/>
			<xs:enumeration value="0006"/>
			<xs:enumeration value="0007"/>
			<xs:enumeration value="0008"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="eventoComuneType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="0001"/>
			<xs:enumeration value="0002"/>
			<xs:enumeration value="0003"/>
			<xs:enumeration value="0004"/>
			<xs:enumeration value="0005"/>
			<xs:enumeration value="0006"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="codiceFiscaleNonRilevatoType">
		<xs:annotation>
			<xs:documentation>Codice fiscale valido con l'aggiunta del caso 0000000000000000</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="16"/>
			<xs:pattern value="[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]|(0){16}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="boolean10Type">
		<xs:annotation>
			<xs:documentation>Tipo che ammette solo valori 0 e 1</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="medicoType">
		<xs:annotation>
			<xs:documentation>Tipologia del medico. Ammette i valori 01= medico generico, 02=medico pediatra, 00=non effetuata scelta medico</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="00"/>
			<xs:enumeration value="01"/>
			<xs:enumeration value="02"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="dataType">
		<xs:annotation>
			<xs:documentation>Accetta date dal 1900 al 2299 nel formato ggmmccaa</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="8"/>
			<xs:pattern value="[0-3][1-9][0-1][1-9]19[0-9][0-9]|[0-3][1-9][0-1][1-9]2[0-2][0-9][0-9]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="dataNullableZeroType">
		<xs:annotation>
			<xs:documentation>Estende dataType ed accetta anche la data 00000000</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="dataType">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="00000000"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="dataNullableSpaceType">
		<xs:annotation>
			<xs:documentation>Estende dataType ed accetta anche la data '       '</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="dataType">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="        "/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="dataNullableType">
		<xs:annotation>
			<xs:documentation>Estende dataType ed accetta anche la data 00000000 e '       '</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="dataNullableSpaceType dataNullableZeroType"/>
	</xs:simpleType>
	<xs:simpleType name="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Codice istat comune. Accetta anche i valori 999999 e 000000</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="6"/>
			<xs:pattern value="\d{6}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="codStatoType">
		<xs:annotation>
			<xs:documentation>Codice dello stato</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="3"/>
			<xs:pattern value="\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="sessoType">
		<xs:annotation>
			<xs:documentation>Tipo che ammette valori 0,1,2</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="regioneType">
		<xs:annotation>
			<xs:documentation>Codice Regione. Accetta anche 999</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="3"/>
			<xs:pattern value="\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="stringaMaiuscola">
		<xs:annotation>
			<xs:documentation>Accetta solo caratteri maiuscoli, spazio e apostrofo</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="(\p{Lu}\s')*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="codiceRegionaleType">
		<xs:annotation>
			<xs:documentation>Codice regionale del medico</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="6"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="uslType">
		<xs:annotation>
			<xs:documentation>Codice Regione. Accetta anche 999</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="3"/>
			<xs:pattern value="\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="revocaType">
		<xs:annotation>
			<xs:documentation>Causale di revoca. Ammette i valori 1, 2, 3 e 0</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
			<xs:enumeration value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="sospensioneType">
		<xs:annotation>
			<xs:documentation>Causale della sospensione. Ammette i valori 0, 1, 2, 3, 4 e 5</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
			<xs:enumeration value="3"/>
			<xs:enumeration value="4"/>
			<xs:enumeration value="5"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Ammette solo valori 0=nessun errore, 1= dato errato o mancante</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="mainErrorType">
		<xs:annotation>
			<xs:documentation>Ammette solo valori 0 = nessun errore, 1 = dato errato o mancante e 9 = scartato</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="9"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="flagCertificazioneType">
		<xs:annotation>
			<xs:documentation>Indica la presenza di atto comunale che certifica i dati dell'evento</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="S"/>
			<xs:enumeration value="N"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

mentre quello di risposta:

------------------------------------------
* XSD VariazioneSceltaMedicoRisposta.xsd *
------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="RispostaEventoGiada.xsd"/>
	<xs:include schemaLocation="../AnagrafeAssistibileRisposta.xsd"/>
	<xs:include schemaLocation="../DatiSanitariAssistibileRisposta.xsd"/>
	<xs:include schemaLocation="../IndirizzoAssistibileRisposta.xsd"/>
	<xs:include schemaLocation="../SceltaMedicoRisposta.xsd"/>
	<xs:include schemaLocation="../CertificazioneComunaleRisposta.xsd"/>
	<xs:include schemaLocation="../MedicoRisposta.xsd"/>
	<xs:element name="EventoVariazioneSceltaMedicoRisposta">
		<xs:annotation>
			<xs:documentation>Evento di variazione scelta medico</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EventoGiadaRisposta">
					<xs:sequence>
						<xs:element ref="AnagrafeAssistibileRisposta"/>
						<xs:element ref="DatiSanitariAssistibileRisposta"/>
						<xs:element ref="IndirizzoAssistibileRisposta"/>
						<xs:element ref="SceltaMedicoRisposta"/>
						<xs:element ref="MedicoRisposta"/>
						<xs:element ref="CertificazioneComunaleRisposta" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

-------------------------------
* XSD RispostaEventoGiada.xsd *
-------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="../DatiGeneraliEventoRisposta.xsd"/>
	<xs:complexType name="EventoGiadaRisposta" abstract="true">
		<xs:annotation>
			<xs:documentation>Elemento astratto identificativo dell'evento</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="DatiGeneraliRisposta"/>
		</xs:sequence>
		<xs:attribute name="IDUniversaleSIL" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>ID universale attribuito all'evento da parte del SIL mittente</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDUniversaleNAL" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>ID universale attribuito all'evento. Viene generato automaticamente sul NAL</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
</xs:schema>

--------------------------------------
* XSD DatiGeneraliEventoRisposta.xsd *
--------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiGeneraliRisposta">
		<xs:annotation>
			<xs:documentation>Contieni i dati generali dell'evento</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TipoFlag"/>
				<xs:element ref="CertificazioneComunaleFlag"/>
				<xs:element ref="USLInvianteFlag"/>
				<xs:element ref="TimeStampSIL"/>
				<xs:element ref="FlagEsecuzione"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TipoFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Indica la tipologia di evento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="USLInvianteFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Codice della USL che pubblica l'evento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TimeStampSIL" type="TimeStamp">
		<xs:annotation>
			<xs:documentation>Data e ora di generazione dell'evento nel Sistema Informativo Locale dell'ASL</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="TimeStamp">
		<xs:annotation>
			<xs:documentation>Elemento TimeStamp Generico</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="DataFlag"/>
			<xs:element ref="OraFlag"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DataFlag" type="defaultErrorType" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento generico data</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="OraFlag" type="defaultErrorType" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento Generico Ora</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="FlagEsecuzione" type="mainErrorType" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento in cui viene riportato lo stato della validazione</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CertificazioneComunaleFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Indica la presenza di atto comunale che certifica i dati dell'evento</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

---------------------------------------
* XSD AnagrafeAssistibileRisposta.xsd *
---------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="AnagrafeAssistibileRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei flag di errore dell'anagrafe dell'assistito</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="NomeFlag"/>
				<xs:element ref="CognomeFlag"/>
				<xs:element ref="DatiNascita"/>
				<xs:element ref="CittadinanzaFlag"/>
				<xs:element ref="SessoFlag"/>
				<xs:element ref="CodiceFiscaleFlag"/>
				<xs:element ref="ValiditaCodiceFiscaleFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="NomeFlag" type="defaultErrorType"/>
	<xs:element name="CognomeFlag" type="defaultErrorType"/>
	<xs:element name="DatiNascita">
		<xs:annotation>
			<xs:documentation>Dati di nascita dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ComuneFlag"/>
				<xs:element ref="StatoFlag"/>
				<xs:element ref="DataNascitaFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ComuneFlag" type="defaultErrorType"/>
	<xs:element name="StatoFlag" type="defaultErrorType"/>
	<xs:element name="CittadinanzaFlag" type="defaultErrorType"/>
	<xs:element name="DataNascitaFlag" type="defaultErrorType"/>
	<xs:element name="SessoFlag" type="defaultErrorType"/>
	<xs:element name="CodiceFiscaleFlag" type="defaultErrorType"/>
	<xs:element name="ValiditaCodiceFiscaleFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Flag di validita' del codice fiscale derivato dall'Agenzia delle Entrate</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

-------------------------------------------
* XSD DatiSanitariAssistibileRisposta.xsd *
-------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiSanitariAssistibileRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dati sanitari dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodAziendaleFlag"/>
				<xs:element ref="UslResidenzaFlag"/>
				<xs:element ref="CodiceSanitario"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodAziendaleFlag" type="defaultErrorType"/>
	<xs:element name="UslResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="CodiceSanitario">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="NumeroFlag"/>
				<xs:element ref="DecorrenzaFlag"/>
				<xs:element ref="ScadenzaFlag"/>
				<xs:element ref="CessazioneFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="NumeroFlag" type="defaultErrorType"/>
	<xs:element name="DecorrenzaFlag" type="defaultErrorType"/>
	<xs:element name="ScadenzaFlag" type="defaultErrorType"/>
	<xs:element name="CessazioneFlag" type="defaultErrorType"/>
</xs:schema>

----------------------------------------
* XSD IndirizzoAssistibileRisposta.xsd *
----------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="IndirizzoAssistibileRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dell'indirizzo dell'assistibile. I dati relativi all'indirizzo di residenza e di domicilio dell'assistibile costituiscono un blocco che viene indicato in tutti gli eventi GIADA.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="RegioneResidenzaFlag"/>
				<xs:element ref="ComuneResidenzaFlag"/>
				<xs:element ref="IndirizzoResidenzaFlag"/>
				<xs:element ref="ComuneDomicilioFlag"/>
				<xs:element ref="IndirizzoDomicilioFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="RegioneResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="ComuneResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="IndirizzoResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="ComuneDomicilioFlag" type="defaultErrorType"/>
	<xs:element name="IndirizzoDomicilioFlag" type="defaultErrorType"/>
</xs:schema>

--------------------------------
* XSD SceltaMedicoRisposta.xsd *
--------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="SceltaMedicoRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi alla scelta del medico.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DataSceltaFlag"/>
				<xs:element ref="DataDecorrenzaFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DataSceltaFlag" type="defaultErrorType"/>
	<xs:element name="DataDecorrenzaFlag" type="defaultErrorType"/>
</xs:schema>

--------------------------
* XSD MedicoRisposta.xsd *
--------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="MedicoRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi al medico vengono forniti contestualmente ad alcune tipologie di evento GIADA</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TipologiaFlag"/>
				<xs:element ref="CodRegionaleFlag"/>
				<xs:element ref="CodFiscaleFlag"/>
				<xs:element ref="RegioneFlag"/>
				<xs:element ref="UslMedicoFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TipologiaFlag" type="defaultErrorType"/>
	<xs:element name="CodRegionaleFlag" type="defaultErrorType"/>
	<xs:element name="CodFiscaleFlag" type="defaultErrorType"/>
	<xs:element name="RegioneFlag" type="defaultErrorType"/>
	<xs:element name="UslMedicoFlag" type="defaultErrorType"/>
</xs:schema>

------------------------------------------
* XSD CertificazioneComunaleRisposta.xsd *
------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="CertificazioneComunaleRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi all'atto comunale ricevuto dalla ASL.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodiceComuneFlag"/>
				<xs:element ref="TipoEventoComunaleFlag"/>
				<xs:element ref="NumeroProtocolloFlag"/>
				<xs:element ref="DataProtocolloFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodiceComuneFlag" type="defaultErrorType"/>
	<xs:element name="TipoEventoComunaleFlag" type="defaultErrorType"/>
	<xs:element name="NumeroProtocolloFlag" type="defaultErrorType"/>
	<xs:element name="DataProtocolloFlag" type="defaultErrorType"/>
</xs:schema>





4. Prodotti attesi
==================

Per realizzare l'applicazione client vengono forniti i seguenti  WSDL (scaricabile anche dal NAL di riferimento):

------------------------------------
* WSDL VariazioneSceltaMedico.wsdl *
------------------------------------

<wsdl:definitions targetNamespace="http://sanita.it/giada">
	<wsdl:types>
		<schema targetNamespace="http://adapter.giada.sis.eng.it">
			<element name="inviaVariazioneSceltaMedico"
				type="xsd:anyType" />
		</schema>
		<schema targetNamespace="http://sanita.it/giada">
			<element name="inviaVariazioneSceltaMedicoReturn"
				type="xsd:anyType" />
		</schema>
	</wsdl:types>
	<wsdl:message name="inviaVariazioneSceltaMedicoRequest">
		<wsdl:part element="tns1:inviaVariazioneSceltaMedico"
			name="part" />
	</wsdl:message>
	<wsdl:message name="inviaVariazioneSceltaMedicoResponse">
		<wsdl:part element="impl:inviaVariazioneSceltaMedicoReturn"
			name="inviaVariazioneSceltaMedicoReturn" />
	</wsdl:message>
	<wsdl:portType name="VariazioneSceltaMedicoAdapter">
		<wsdl:operation name="inviaVariazioneSceltaMedico">
			<wsdl:input
				message="impl:inviaVariazioneSceltaMedicoRequest"
				name="inviaVariazioneSceltaMedicoRequest" />
			<wsdl:output
				message="impl:inviaVariazioneSceltaMedicoResponse"
				name="inviaVariazioneSceltaMedicoResponse" />
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="VariazioneSceltaMedicoSoapBinding"
		type="impl:VariazioneSceltaMedicoAdapter">
		<wsdlsoap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="inviaVariazioneSceltaMedico">
			<wsdlsoap:operation soapAction="" />
			<wsdl:input name="inviaVariazioneSceltaMedicoRequest">
				<wsdlsoap:body
					namespace="http://adapter.giada.sis.eng.it" use="literal" />
			</wsdl:input>
			<wsdl:output name="inviaVariazioneSceltaMedicoResponse">
				<wsdlsoap:body namespace="http://sanita.it/giada"
					use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="VariazioneSceltaMedicoAdapterService">
		<wsdl:port binding="impl:VariazioneSceltaMedicoSoapBinding"
			name="VariazioneSceltaMedico">
			<wsdlsoap:address
				location="https://URL-NAL-RIFERIMENTO:PORT-NAL-RIFERIMENTO/giada/services/VariazioneSceltaMedico" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

Da notare che la comunicazione avviene su protocollo sicuro (https), per questo  necessario un certificato elettronico rilasciato da Regione Toscana.

L'applicazione cliente, una volta creato il client, partendo del WSDL, deve fornire come payload del messaggio l'XML come definito dalla grammatica, definita in questo documento.
Qui di seguito si riporta un esempio di un messaggio XML valido.

------------------------------------
* ESEMPIO VariazioneSceltaMedico   *
------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<EventoVariazioneSceltaMedico IDUniversaleNAL="789456" IDUniversaleSIL="123456">
	<DatiGenerali>
		<Tipo>0003</Tipo>
		<FlagCertificazioneComunale>S</FlagCertificazioneComunale>
		<USLInviante>103</USLInviante>
		<TimeStampNAL>
			<Data>2004-10-02</Data>
			<Ora>18:30:00</Ora>
		</TimeStampNAL>
		<TimeStampSIL>
			<Data>2004-10-01</Data>
			<Ora>17:31:35</Ora>
		</TimeStampSIL>
	</DatiGenerali>
	<AnagrafeAssistibile>
		<Nome>ALESSIO</Nome>
		<Cognome>PAPI</Cognome>
		<DatiNascita>
			<Comune>047014</Comune>
			<Stato>100</Stato>
			<DataNascita>06041975</DataNascita>
		</DatiNascita>
		<Cittadinanza>100</Cittadinanza>
		<Sesso>1</Sesso>
		<CodiceFiscale>AAABBB11D22A999A</CodiceFiscale>
		<ValiditaCodiceFiscale>1</ValiditaCodiceFiscale>
	</AnagrafeAssistibile>
	<DatiSanitariAssistibile>
		<CodAziendale>123ABC</CodAziendale>
		<UslResidenza>103</UslResidenza>
		<CodiceSanitario>
			<Numero>1234567890A</Numero>
			<Decorrenza>27092004</Decorrenza>
			<Scadenza>01102004</Scadenza>
			<Cessazione>01122004</Cessazione>
		</CodiceSanitario>
	</DatiSanitariAssistibile>
	<IndirizzoAssistibile>
		<RegioneResidenza>090</RegioneResidenza>
		<ComuneResidenza>047017</ComuneResidenza>
		<IndirizzoResidenza>VIA STATALE N 999</IndirizzoResidenza>
		<ComuneDomicilio>047017</ComuneDomicilio>
		<IndirizzoDomicilio>VIA STATALE N 999</IndirizzoDomicilio>
	</IndirizzoAssistibile>
	<SceltaMedico>
		<DataScelta>01102004</DataScelta>
		<DataDecorrenza>02102004</DataDecorrenza>
	</SceltaMedico>
	<Medico>
		<Tipologia>01</Tipologia>
		<CodRegionale>ABC123</CodRegionale>
		<CodFiscale>AAABBB11D22A999A</CodFiscale>
		<Regione>090</Regione>
		<UslMedico>103</UslMedico>
	</Medico>
</EventoVariazioneSceltaMedico>


5. Bibliografia
===============
[1] Web Services Description Language (WSDL) 1.1 http://www.w3.org/TR/wsdl
[2] XML Schema http://www.w3.org/XML/Schema
[3] Latest SOAP versions http://www.w3.org/TR/soap/
[4] Apache Axis http://ws.apache.org/axis/